package dac.fibonacci.core;

import java.math.BigDecimal;

/**
 * 自下向上法求Fibonacci
 * 期望时间T(n)=θ(n)
 * */
public class FibonacciByBottomToUp implements Fibonacci{

	public BigDecimal get(int n) {
		BigDecimal a = new BigDecimal("0");
		if(n == 0)
			return a;
		BigDecimal b = new BigDecimal("1");
		for (int i = 1; i < n; i++) {
			BigDecimal c = a.add(b);
			String _b = b.toString();
			String _c = c.toString();
			a = new BigDecimal(_b);
			b = new BigDecimal(_c);
		}
		
		return b;
	}

}
